import { getActivePinia } from 'pinia';

/**
 * 检查 Pinia 是否已经激活
 * @returns boolean
 */
export function isPiniaActive(): boolean {
  try {
    return !!getActivePinia();
  } catch {
    return false;
  }
}

/**
 * 安全地获取用户 store
 * @returns useUserStore 函数或 null
 */
export async function safeGetUserStore() {
  try {
    if (!isPiniaActive()) {
      console.warn('Pinia 尚未激活，无法获取 store');
      return null;
    }
    
    const { useUserStore } = await import('@/stores');
    return useUserStore();
  } catch (error) {
    console.warn('获取用户 store 失败:', error);
    return null;
  }
}

/**
 * 安全地获取应用 store
 * @returns useAppStore 函数或 null
 */
export async function safeGetAppStore() {
  try {
    if (!isPiniaActive()) {
      console.warn('Pinia 尚未激活，无法获取 store');
      return null;
    }
    
    const { useAppStore } = await import('@/stores');
    return useAppStore();
  } catch (error) {
    console.warn('获取应用 store 失败:', error);
    return null;
  }
}